Calcul des adjoints et programmation paresseuse
نویسنده
چکیده
Nous présentons une réalisation purement fonctionnelle et paresseuse de la technique du mode inverse de différentiation algorithmique. Cette technique, qui permet de calculer de manière précise et efficace les dérivées des expressions numériques dans un programme, est devenue indispensable dans plusieurs branches de programmation scientifique. Le mode inverse ou adjoint demande souvent l’usage des lourds paquetages extérieurs, et du pré-traitement du programme source. Grâce aux techniques de programmation paresseuse nous montrons comment intégrer de manière facile et transparente la construction des dérivées adjointes dans le programme même. Le résultat est pratiquement utilisable même si plusieurs optimisations seront nécessaires pour rendre le paquetage utilisable dans des cas plus sérieux.
منابع مشابه
Synthèse de types pour Bulk Synchronous Parallel ML
Bulk Synchronous Parallel ML ou BSML est une extension de ML pour la programmation fonctionnelle en mode direct d’algorithmes parallèles BSP (Bulk Synchronous Parallelism). Le modèle de programmation parallèle BSP a été introduit par Valiant au début des années 90 [21] afin d’offrir à la fois un haut degré d’abstraction comme les modèles PRAM [4] tout en étant portable et en permettant la prévi...
متن کاملProgrammation dynamique à base de points pour la résolution des DEC-POMDPs
RÉSUMÉ. Nous présentons un nouvel algorithme de planification pour la construction de systèmes multi-agents réactifs et situés pouvant se modéliser par des processus de décision de Markov décentralisés (DEC-POMDP). Cet algorithme est fondé sur la programmation dynamique à base de points. Il est dérivé de techniques de programmation dynamique optimale utilisées pour résoudre des jeux stochastiqu...
متن کاملThe Data-Dependence Graph of Adjoint Programs
Automatic Di erentiation is a technique that permits generation of adjoint programs, which compute gradients. In scienti c computation, these gradients are a fundamental tool for optimization or data assimilation. Computation of a gradient is relatively expensive, and should therefore be optimized whenever possible. The study of these program optimizations is most often based on the data-depend...
متن کاملAnalyse de dépendances et correction des réseaux de preuve
Les fruits de Curry-Howard. Depuis la mise en évidence via la correspondance de CurryHoward [21], des relations entre démonstrations mathématiques et programmes informatiques, théorie de la programmation et théorie de la démonstration s’enrichissent mutuellement. Parmi les nombreux allers-retours fructueux entre preuves et programmes, la logique linéaire [13] tient une place exemplaire. Girard ...
متن کاملReprésentation et manipulation de structures topologiques dans un langage fonctionnel
RÉSUMÉ. Le calcul spatial est un domaine de recherche qui vise à développer des formalismes, des langages et des architectures matérielles qui permettent d’appréhender la notion d’espace en informatique. Nous présentons MGS, un langage de programmation déclaratif dédié à la représentation et à la manipulation de structures spatiales arbitrairement complexes. Afin d’atteindre ce but, nous avons ...
متن کامل